<?php
class Sms
{
	public function __construct()
	{
	}

	public function post($url,$postData){
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
		$output = curl_exec($ch);
		curl_close($ch);
		return $output;
	}

	public function sendTo($phone, $msg)
	{
		$params = array(
			'account=Panxihh',
			'pswd=panriver@123',
			'mobile=' . $phone,
			'msg=' . urlencode($msg),
		);
		$response = $this->post('http://222.73.117.156/msg/HttpBatchSendSM', implode('&', $params));

		include_once ROOT_PATH . 'include/logger.php';
		CLogger::log('sms', "sendTo: [{$phone}]\r\n[{$msg}]\r\n[{$response}]");

		// 20150630101713,0
		return true;
	}
	
	/**
	 * 批量发送短信专用接口
	 * 主要记录返回状态码
	 *  * 短信提交
	 * 代码	说明
	 * 0	提交成功
	 * 101	无此用户
	 * 102	密码错
	 * 103	提交过快（提交速度超过流速限制
	 * 104	系统忙（因平台侧原因，暂时无法处理提交的短信）
	 * 105	敏感短信（短信内容包含敏感词）
	 * 106	消息长度错（>536或<=0）
	 * 107	包含错误的手机号码
	 * 108	手机号码个数错（群发>50000或<=0;单发>200或<=0）
	 * 109	无发送额度（该用户可用短信数已使用完）
	 * 110	不在发送时间内
	 * 111	超出该账户当月发送额度限制
	 * 112	无此产品，用户没有订购该产品
	 * 113	extno格式错（非数字或者长度不对）
	 * 115	自动审核驳回
	 * 116	签名不合法，未带签名（用户必须带签名的前提下）
	 * 117	IP地址认证错,请求调用的IP地址不是系统登记的IP地址
	 * 118	用户没有相应的发送权限
	 * 119	用户已过期
	 * 120	短信内容不在白名单中
	 */
	public function sendSms($phone,$msg){
		$params = array(
				'account=Panxihhh',//2016年4月20日16:56:23  更换营销短信账号密码
				'pswd=panriver@123',
				'mobile=' . $phone,
				'msg=' . urlencode($msg.'退订回复TD'),
		);
		$response = $this->post('http://222.73.117.169/msg/HttpBatchSendSM', implode('&', $params));
		
		include_once ROOT_PATH . 'include/logger.php';
		CLogger::log('sms', "sendTo: [{$phone}]\r\n[{$msg}]\r\n[{$response}]");
		
		// 20150630101713,0
		$response = $this->execResult($response);
		return $response;
	}
	
	
	/**
	 * 系统通知接口
	 */
	public function sendSys($phone, $msg)
	{
		$params = array(
				'account=Panxihh',
				'pswd=panriver@123',
				'mobile=' . $phone,
				'msg=' . urlencode($msg),
		);
		$response = $this->post('http://222.73.117.156/msg/HttpBatchSendSM', implode('&', $params));
	
		include_once ROOT_PATH . 'include/logger.php';
		CLogger::log('sms', "sendTo: [{$phone}]\r\n[{$msg}]\r\n[{$response}]");
		$response = $this->execResult($response);
		// 20150630101713,0
		return $response;
	}
	/**
	 * 处理返回值
	 *
	 */
	public function execResult($result){
		$result=preg_split("/[,\r\n]/",$result);
		return $result[1];
	}
}
